#pragma once

#include <vector>

#include "string/str.h"

namespace mztool {

    enum class FileType {
        FILE = 1,
        DIRECTORY = 2,
        ALL = 0xFF
    };

    class File {
        public:
            File() {}

            File(String path);

            File(std::string path);

            ~File() {}

            bool IsDirectory();

            bool Exists();

            std::vector<String> ListChildFiles(FileType type = FileType::ALL);

        private:
            String m_path;
            FileType m_fileType;
    };
}